Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.hw
Class ModuleInstance_Indirect

    java.lang.Object
      rdlc.rdl.Field_Named
          rdlc.hw.ModuleInstance_Indirect

All Implemented Interfaces:
  Expression, Field

    public class ModuleInstance_Indirect

extends Field_Named

This class represents an indirect module instance, or in HDL paralance a hierarchical instantiation. This includes both connections and defined parameters.

Version:
  $Revision: 1.14 $
Author:
  Greg Gibeling

Nested Class Summary

Nested classes/interfaces inherited from interface rdlc.rdl.Expression
`Expression.Phase`

Field Summary
`protected java.util.Hashtable<java.lang.String,Expression>` | `connections` Hashtable of port names to expressions.
`protected Identifier<Declaration>` | `module` Identifier which names the module which is being instantiated.
`protected java.util.Hashtable<java.lang.String,Expression>` | `parameters` Hashtable of parameter names to expressions.

Fields inherited from class rdlc.rdl.Field_Named
`iName, instance, namespace, rawDynamicID`

Constructor Summary
`ModuleInstance_Indirect(java.lang.String _name, Instance _instance, Identifier<Declaration> _module)` Simple constructor, creates an instance with the given name in the given standard module instance.

Method Summary
`boolean` | `connect(ModuleWireGroup connection, boolean useAttributes)` Connect the wire group in the instantiated module to the same wire group in the module in which this instantiation exists.
`void` | `connect(java.lang.String port, Expression expression)` Connect the given port to the given expression.
`boolean` | `connect(java.lang.String wireGroupName, ModuleWireGroup connection)` Connect the wire group in the instantiated module to the wire group given.
`Field` | `copy(java.lang.String _name, Instance _instance)` Create a copy of this field in the given instance.
`void` | `defParam(java.lang.String paramName, Expression value)` Define a parameter on this module instance.
`java.util.Hashtable<java.lang.String,Expression>` | `getConnections()` Simple accessor.
`Identifier<Declaration>` | `getModule()` Simple accessor.
`java.util.Hashtable<java.lang.String,Expression>` | `getParameters()` Simple accessor.

Methods inherited from class rdlc.rdl.Field_Named
`getIdentifier, getRawDynamicID, getRequirements, resolve, setInstance, setNamespace, setRawDynamicID, toString, typeMatch`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### module

    protected Identifier<Declaration> module

  Identifier which names the module which is being instantiated.

### parameters

    protected java.util.Hashtable<java.lang.String,Expression> parameters

  Hashtable of parameter names to expressions.

### connections

    protected java.util.Hashtable<java.lang.String,Expression> connections

  Hashtable of port names to expressions.

Constructor Detail

### ModuleInstance_Indirect

    public ModuleInstance_Indirect(java.lang.String _name,
                                   Instance _instance,
                                   Identifier<Declaration> _module)

  Simple constructor, creates an instance with the given name in the given standard module instance.

  Parameters:
    `_name` - The name of this instance.
    `_instance` - The module instance in which this instance belongs.
    `_module` - An identifier which names the module to be instantiated.

Method Detail

### copy

    public Field copy(java.lang.String _name,
                      Instance _instance)

  Description copied from interface: `Field`
  Create a copy of this field in the given instance. This is highly useful during dynamic hierarchy copying and during back end generation.

  Parameters:
    `_name` - The new name to use.
    `_instance` - The instance the copy should be a member of.
  See Also:
    `Field.copy(String, Instance)`

### getModule

    public Identifier<Declaration> getModule()

  Simple accessor.

  Returns:
    An identifier which names the module being instantiated.

### getParameters

    public java.util.Hashtable<java.lang.String,Expression> getParameters()

  Simple accessor.

  Returns:
    A hashtable mapping parameter names to expressions.

### getConnections

    public java.util.Hashtable<java.lang.String,Expression> getConnections()

  Simple accessor.

  Returns:
    A hashtable mapping port names to expressions.

### connect

    public void connect(java.lang.String port,
                        Expression expression)

  Connect the given port to the given expression.

  Parameters:
    `port` - The port whose value we're specifying.
    `expression` - The expression to put into the given port.

### connect

    public boolean connect(java.lang.String wireGroupName,
                           ModuleWireGroup connection)

  Connect the wire group in the instantiated module to the wire group given. This is very useful for abstraction module level connections.

  Parameters:
    `wireGroupName` - The name of the wire group in the module being instantiated.
    `connection` - The wire group being connected to.
  Returns:
    `true` on success.

### connect

    public boolean connect(ModuleWireGroup connection,
                           boolean useAttributes)

  Connect the wire group in the instantiated module to the same wire group in the module in which this instantiation exists.

  Parameters:
    `connection` - The wire group being connected.
    `useAttributes` - Should the attributes of the wire group be used? This includes the "invert" attribute.
  Returns:
    `true` on success.

### defParam

    public void defParam(java.lang.String paramName,
                         Expression value)

  Define a parameter on this module instance.

  Parameters:
    `paramName` - The parameter being defined.
    `value` - The expression which gives the parameters value.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD